(()=>{var aa={d:(a,b)=>{for(var d in b)aa.o(b,d)&&!aa.o(a,d)&&Object.defineProperty(a,d,{enumerable:!0,get:b[d]})},o:(a,b)=>Object.prototype.hasOwnProperty.call(a,b),r:(a)=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})}},e={};(()=>{"use strict";function ba(){var a=document.querySelectorAll(".js-sidebar-zone")[0];a&&a.style.removeProperty("min-height")}function b(){const a=document.getElementById("clc-abd");return!!a&&0===a.offsetHeight}function S(a,b={}){const d=document.createElement(a),e=b.style||{};return delete b.style,Object.assign(d,b),Object.assign(d.style,e),d}function z(a,b=!0,c=null){return new Promise((b)=>{const c=S("script",{src:a});c.addEventListener("load",()=>b(c)),document.body.appendChild(c)})}function k(a){return Promise.all(a.map((a)=>z(a)))}function j(a){let b="stylesheet";/\.less$/.test(a)&&(b+="/less",E&&setTimeout(A,10));const c=S("link",{rel:b,href:a,type:"text/css"});document.head.appendChild(c),E||(window.less=window.less||{},window.less.sheets=window.less.sheets||[],window.less.sheets.push(c),"function"==typeof window.less.refresh&&window.less.refresh())}function A(){E&&(window.less={env:"development",relativeUrls:!0},z("/Content/less.js"))}function t(){return[...[].slice.call(I()),...Object.keys(P).map(y).filter(h)]}function q(){return t().map((a)=>({element:a,zone:O(a),prefilled:R(a),cpaReserved:M(a)}))}function O(a){const b=a.getAttribute("id");return b in P?P[b]():b in x?x[b]:0}function R(a){return a.hasAttribute("data-clc-prefilled")}function M(a){return a.hasAttribute("data-clc-cpa-reserved")}function U(b,a){if(!g("hireme")){const d=((a)=>a.map(({zones:a})=>a.reduce((a,b)=>a|b.zone,0)).filter((a)=>0!==a).join(";"))(a),e=((a)=>a.reduce((a,b)=>a|b.zones.reduce((a,b)=>b.prefilled?a|b.zone:a,0),0))(a),f=(()=>{const a=(c=q(),c.filter((a)=>a.cpaReserved)).map((a)=>a.zone),b=a.map((a)=>a.valueOf()).indexOf(0);var c;return 0<=b&&(a.splice(b,1),a.push(4),a.push(16)),a.reduce((a,b)=>a|b,0)})();if(d!==e.toString()){const g={};window.clc_request&&(g.omni=window.clc_request),g.zc=d,g.pf=e,g.cpa=f,g.lw=b,function(a){const b=location.hash.substr(1).split(/&/g).filter((a)=>""!==a).reduce((a,b)=>{const c=b.split("=");return a[decodeURIComponent(c[0])]=decodeURIComponent(c[1]),a},{}),c=/^ads:/;for(let d in Object.keys(na).forEach((a)=>{c.test(a)||(na[`ads:${a}`]=na[a],delete na[a])}),b)0===d.indexOf("ads:")&&(na[d]=b[d]);Object.assign(a,na)}(g),D("markupStart");const h=ma(g);return`${c}?${h}`}}}function H(a=0){const c=function(){let a=q();b()&&(a=a.filter((a)=>1!==a.zone&&2!==a.zone),(()=>{for(const a of document.querySelectorAll("#dfp-tlb, #dfp-mlb"))a.style.display="none"})());const c=[];if(-1<a.findIndex((a)=>4===a.zone)){a=a.filter((a)=>8!==a.zone||a.prefilled),c.push({zones:a});const b={zones:a.map((a)=>4===a.zone?Object.assign({},a,{zone:16}):a)};c.push(b)}else if(c.push({zones:a}),a.filter((a)=>8===a.zone||16===a.zone).every((a)=>!a.prefilled)){const b={zones:a.map((a)=>{switch(a.zone){case 8:return Object.assign({},a,{zone:0});case 16:return Object.assign({},a,{zone:4});default:return a;}})};c.push(b)}return c}(),d=U(a,c);((a)=>{L=a.reduce((a,b)=>(b.zones.forEach((b)=>{0<b.zone&&(a[b.zone]=b)}),a),{})})(c),d&&(D("markupDuration"),z(d))}async function B(){if(!(d&&new RegExp(d).test(location.hostname)))location.hostname;else if(!g("hireme"))if(await(document.hidden&&a?new Promise((a)=>{document.addEventListener("visibilitychange",function b(){document.hidden||(document.removeEventListener("visibilitychange",b),a())})}):Promise.resolve()),j(r),v())H();else{if(0===[].slice.call(I()).filter((a)=>"dfp-isb"!==a.id).length)return g("clc-tsb")?void clc.dfp.load(t().map((a)=>a.id).filter((a)=>"hireme"!==a)):void H();if(o)try{H((await async function(){return await(a=n,d=()=>{if(b())return googletag&&"function"==typeof googletag.destroySlots&&googletag.destroySlots(),!0;const a=[].slice.call(document.querySelectorAll("[data-dfp-zone]"));return!!(0<a.length&&a.every((a)=>a.hasAttribute("data-clc-ready")))},new Promise((b,e)=>{if(d())return void b(0);const c=Date.now();setTimeout(function f(){const g=Date.now()-c;d()?b(g):g>=a?e(g):setTimeout(f,20)},20)}));var a,d}()))}catch(a){if("number"!=typeof a)throw a;!function(){if(i){const a={ab:b()?"1":"0",tc:p};!function(){const a=document.getElementById("clc-abd");a&&a.parentElement.removeChild(a)}();const d=null===y("dfp-msb")?"#dfp-tsb, #clc-tsb":"#dfp-msb",c=document.querySelector(d);c&&c.setAttribute("data-clc-stalled","true"),new Image().src=`https://${l}/timeout.gif?${ma(a)}`,ba()}}()}else H()}}async function J(a,b){const d="string"==typeof b?b:((a)=>a?Object.keys(a).map((b)=>((a,b)=>`${encodeURIComponent(a)}=${encodeURIComponent(b)}`)(b,a[b])).join("&"):void 0)(b),f=await fetch(a,{method:"POST",credentials:"include",mode:"cors",body:d});if(f.ok)return await f.json();{const a=await f.text();throw new N(f.status,a)}}async function G(a,b,d){if(-1===d.className.indexOf("error"))try{let b=d.previousElementSibling;if(b||(b=d.parentNode.querySelector(".clc-ad-body").parentElement),!b)return;Q(d.querySelector(".clc-tooltip")),V(d);const e=await J(a);V(d,!1),Q(d),function(a,b){a.classList.add("clc-dismissed-container");const c=S("div",{className:"clc-dismissed-overlay clc-hidden",innerHTML:b.content});a.appendChild(c),setTimeout(()=>{Q(c,!1)},20)}(b,e)}catch(a){V(d,!1),d.classList.add("error"),d.title=w}}async function _(a,b,d){let e=d;for(;!e.classList.contains("clc-dismissed-container");)e=e.parentNode;if(e){const b=e.querySelector(".clc-dismissed-overlay");try{let c=e.querySelector(".clc-dismiss-icon");c||(c=e.nextElementSibling);const d=c.querySelector(".clc-tooltip"),f=b.querySelector(".clc-spinner");if(f.classList.contains("error"))return;Q(f,!1),await J(a),Q(f),await function(a){return new Promise((b)=>{a.addEventListener("transitionend",function c(){a.removeEventListener("transitionend",c),a.parentNode.removeChild(a),b()},!1),Q(a)})}(b),e.classList.remove("clc-dismissed-container"),Q(c,!1),Q(d,!1)}catch(a){b.classList.add("error"),b.innerHTML=`<div>${w}</div>`}}}async function ca(a,b,d){try{let b=d.parentElement;d.setAttribute("disabled","");const c=await J(a);c.content?b.innerHTML=c.content:c.redirectToSignup&&(window.location.href="/users/signup?returnUrl="+window.location.pathname);var e=y("clc-follow-popover");e&&e.remove()}catch(a){d.removeAttribute("disabled"),d.classList.add("error"),d.title=w}}function da(a,b){"undefined"==typeof StackExchange||void 0===StackExchange.ga||"function"!=typeof StackExchange.ga.track||StackExchange.ga.track("Jobs Traffic",a,b,{nonInteraction:!1})}function ea(a){if(!a||!a.zones)return void ba();const b=C();if(null===b)return void ba();if(a.disp&&0<a.disp.length){const c=a.disp.map((a)=>b[a]).filter((a)=>!!a).map((a)=>a.element.id);0<c.length&&clc.dfp.load(c)}let c=[];Object.keys(b).forEach((d)=>{const e=parseInt(d,10),g=b[e];if(!g.prefilled){const b=a.zones[g.zone];b?(function(a,b,d,e){d.cn&&(!function(a,{cl:b,cn:d}){b&&0<b.length&&b.forEach((b)=>a.classList.add(b)),a.style.minHeight=null;const e=(()=>{const a=$.markupStart;return a?a():0})();a.innerHTML=d.replace("&md=0",`&md=${e||0}`)}(b,d),d.pcp&&la(a)&&(void 0===f||f)&&function(a,{pcp:b},d){var e=document.createElement("div");e.id=ka(b,d),e.style.height="1px",e.style.width="1px",e.style.display="block",a.appendChild(e)}(b,d,a),b.addEventListener("mousedown",fa),b.addEventListener("click",ga),e&&b.addEventListener("click",ha),"none"===getComputedStyle(b).display&&(b.style.display="block"))}(g.zone,g.element,b,a.analytics),b.pcp&&la(e)&&(void 0===f||f)&&c.push(ka(b.pcp,e))):g.zone}}),T(),((a)=>{const b=document.createEvent("Event");b.initEvent("clc:ads-loaded",!0,!1),a.dispatchEvent(b)})(document),0<c.length&&clc.dfp.load(c),ba()}function fa(a){const b=ia(a);if(null!=b){const a=ja(b);a.click&&(a["meta-target"]||(b.setAttribute("data-clc-target-url",b.href),b.href=a.click))}}function ga(a){const b=ia(a);if(null!=b){const d=ja(b);if(d.click&&d["meta-target"]){a.preventDefault();const e=parseInt(d["meta-target"],10);if(!(0<=e)){const c=F[e];"function"==typeof c&&c(d.click,a,b)}}}}function ha(a){const b=ia(a);if(null!=b){const d=b.getAttribute("data-clc-target-url");if(d){const b=a.currentTarget;b.classList.contains("js-clc-jobs-clk")||b.classList.contains("clc-jobs-multi")?da("Ad Paid | Jobs",d):b.classList.contains("clc-cp-container")?da("Ad Paid | Company",d):b.classList.contains("clc-cp-multi")&&da("Ad Paid | Shared Company Ad",d)}}}function ia(a){let b=a.target;for(;"A"!==b.tagName&&b!==a.currentTarget;)b=b.parentNode;return b===a.currentTarget?null:b}function ja(a){return[].filter.call(a.attributes,(a)=>/^data-clc-/.test(a.name)).reduce((a,b)=>(a[b.name.replace(/^data-clc-/,"")]=b.value,a),{})}function ka(a,b){return`clc-cpa_${a}_${b}`}function la(a){return 16==a||8==a||4==a}aa.r(e),aa.d(e,{addScript:()=>z,addScripts:()=>k,addStyle:()=>j,load:()=>B,overrides:()=>na,place:()=>ea});const ma=(a)=>Object.keys(a).map((b)=>[encodeURIComponent(b),encodeURIComponent(a[b])]).filter((a)=>!!a[1]).map((a)=>`${a[0]}=${a[1]}`).join("&"),na=window.clc.overrides||{};window.clc=window.clc||{};const{u:c,kt:n,wa:o,style:r,tto:i,h:l,wv:a,allowed:d,abd:s,performance_consent:f,targeting_consent:p,dp:u}=clc.options,y=(a)=>document.getElementById(a),h=(a)=>!!(a="string"==typeof a?y(a):a)&&"none"!==getComputedStyle(a).display,g=(a)=>!h(a),v=()=>/codinghorror/.test(location.hostname),w="Oops! Something went wrong. Don't worry, our best people are on it!";let E=!window.less,L=null;const C=()=>L,T=()=>{L=null},P={"clc-tlb":()=>1,"clc-mlb":()=>2,"clc-tsb":()=>8,hireme:()=>v()?128:4},x={"dfp-tlb":1,"dfp-mlb":2,"dfp-tsb":8,"dfp-isb":8},I=()=>document.querySelectorAll("[id^=dfp].everyonelovesstackoverflow"),$={},D=(a)=>{const b=Date.now();return $[a]=()=>Date.now()-b};class N extends Error{constructor(a,b){super("Error received from server"),this.statusCode=a,this.responseBody=b}}const F={[-1]:G,[-2]:_,[-3]:G,[-4]:_,[-5]:ca,[-6]:ca},K=(a)=>(b,c=!0)=>{b.classList[c?"add":"remove"](a)},Q=K("clc-hidden"),V=K("spinner");window.clc=window.clc||{},clc.cmd=clc.cmd||[],Array.isArray(clc.cmd)&&setTimeout(()=>{if(Array.isArray(clc.cmd)){(clc.cmd||[]).forEach((a)=>a(clc));let a=clc.cmd.length;clc.cmd={push:(b)=>(b(clc),++a)}}},0)})();var a=clc="undefined"==typeof clc?{}:clc;for(var b in e)a[b]=e[b];e.__esModule&&Object.defineProperty(a,"__esModule",{value:!0})})();